package edu.ar.bases.dvdstore.domainmodel.entities;

import edu.ar.bases.dvdstore.domainmodel.entities.interfaces.IDomicilio;
import edu.ar.bases.dvdstore.domainmodel.entities.interfaces.IPersona;




public class Persona implements IPersona {

	private int personaID;
	private String nombre;
	private String apellido;
	private String sexo;
	private int edad;
	private String telefono;
	private String fecha_nac;
	private IDomicilio domicilio;

	public Persona(){

	}

	public void finalize() throws Throwable {

	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getPersonaID()
	 */
	public int getPersonaID() {
		return personaID;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setPersonaID(int)
	 */
	public void setPersonaID(int personaID) {
		this.personaID = personaID;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getNombre()
	 */
	public String getNombre() {
		return nombre;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setNombre(java.lang.String)
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getApellido()
	 */
	public String getApellido() {
		return apellido;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setApellido(java.lang.String)
	 */
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getSexo()
	 */
	public String getSexo() {
		return sexo;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setSexo(java.lang.String)
	 */
	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getEdad()
	 */
	public int getEdad() {
		return edad;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setEdad(int)
	 */
	public void setEdad(int edad) {
		this.edad = edad;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getTelefono()
	 */
	public String getTelefono() {
		return telefono;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setTelefono(java.lang.String)
	 */
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getFecha_nac()
	 */
	public String getFecha_nac() {
		return fecha_nac;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setFecha_nac(java.lang.String)
	 */
	public void setFecha_nac(String fecha_nac) {
		this.fecha_nac = fecha_nac;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#getDomicilio()
	 */
	public IDomicilio getDomicilio() {
		return domicilio;
	}

	
	/* (non-Javadoc)
	 * @see edu.ar.bases.dvdstore.domainmodel.entities.IPersona#setDomicilio(edu.ar.bases.dvdstore.domainmodel.entities.interfaces.IDomicilio)
	 */
	public void setDomicilio(IDomicilio domicilio) {
		this.domicilio = domicilio;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((apellido == null) ? 0 : apellido.hashCode());
		result = prime * result
				+ ((domicilio == null) ? 0 : domicilio.hashCode());
		result = prime * result + edad;
		result = prime * result
				+ ((fecha_nac == null) ? 0 : fecha_nac.hashCode());
		result = prime * result + ((nombre == null) ? 0 : nombre.hashCode());
		result = prime * result + personaID;
		result = prime * result + ((sexo == null) ? 0 : sexo.hashCode());
		result = prime * result
				+ ((telefono == null) ? 0 : telefono.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final Persona other = (Persona) obj;
		if (apellido == null) {
			if (other.apellido != null)
				return false;
		} else if (!apellido.equals(other.apellido))
			return false;
		if (domicilio == null) {
			if (other.domicilio != null)
				return false;
		} else if (!domicilio.equals(other.domicilio))
			return false;
		if (edad != other.edad)
			return false;
		if (fecha_nac == null) {
			if (other.fecha_nac != null)
				return false;
		} else if (!fecha_nac.equals(other.fecha_nac))
			return false;
		if (nombre == null) {
			if (other.nombre != null)
				return false;
		} else if (!nombre.equals(other.nombre))
			return false;
		if (personaID != other.personaID)
			return false;
		if (sexo == null) {
			if (other.sexo != null)
				return false;
		} else if (!sexo.equals(other.sexo))
			return false;
		if (telefono == null) {
			if (other.telefono != null)
				return false;
		} else if (!telefono.equals(other.telefono))
			return false;
		return true;
	}

}